package com.qny.ai.service;

import org.springframework.web.socket.WebSocketSession;

import java.util.concurrent.CompletableFuture;

public interface StreamingASRService {
    
    /**
     * 流式处理ASR请求
     * @param audioData 音频数据
     * @param format 音频格式
     * @param session WebSocket会话，用于发送流式响应
     * @param sessionId 会话ID
     */
    CompletableFuture<String> processStreamingASR(byte[] audioData, String format, WebSocketSession session, String sessionId);
    
    /**
     * 处理音频数据块
     * @param audioChunk 音频数据块
     * @param sessionId 会话ID
     * @param isFinal 是否为最终块
     */
    void processAudioChunk(byte[] audioChunk, String sessionId, boolean isFinal);
    
    /**
     * 清理会话数据
     * @param sessionId 会话ID
     */
    void cleanupSession(String sessionId);
}
